.\"
.\" FreeBSD pkg - a next generation package for the installation and maintenance
.\" of non-core utilities.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\"
.\"     @(#)pkg.8
.\"
.Dd November 18, 2016
.Dt PKG-SET 8
.Os
.Sh NAME
.Nm "pkg set"
.Nd modify information in the installed database
.Sh SYNOPSIS
.Nm
.Op Fl a
.Op Fl A Op Ar 01
.Op Fl n Ar oldname:newname
.Op Fl o Ar oldorigin:neworigin
.Op Fl v Op Ar 01
.Op Fl y
.Op Fl Cgix
.Ar pkg-name
.Pp
.Nm
.Op Cm --all
.Op Cm --automatic Op Ar 01
.Op Cm --change-name Ar oldname:newname
.Op Cm --change-origin Ar oldorigin:neworigin
.Op Cm --yes
.Op Fl v Op Ar 01
.Op Cm --{case-sensitive,glob,case-insensitive,regex}
.Ar pkg-name
.Sh DESCRIPTION
.Nm
is used to modify information concerning installed packages.
.Nm
should always be used with caution.
.Sh OPTIONS
The following options are supported by
.Nm :
.Bl -tag -width automatic
.It Fl A Ar 01 , Cm --automatic Ar 01
Set automatic flag for the package: 0 is not automatic, 1 is automatic.
This affects the operation of
.Xr pkg-autoremove 8 .
.It Fl a , Cm --all
Match all installed packages.
.It Fl C , Cm --case-sensitive
Make the standard or the regular expression
.Fl ( x )
matching against
.Ar pkg-name
case sensitive.
.It Fl g , Cm --glob
Match
.Ar pkg-name
as a globbing expression.
.It Fl i , Cm --case-insensitive
Make the standard or regular expression
.Fl ( x )
matching against
.Ar pkg-name
case insensitive.
This is the default, unless modified by setting
.Ev CASE_SENSITIVE_MATCH
to true in
.Pa pkg.conf .
.It Fl n Ar oldname:newname , Cm --change-name Ar oldname:newname
Change the package name of a given dependency from
.Ar oldname
to
.Ar newname .
.It Fl o Ar oldorigin:neworigin , Cm --change-origin Ar oldorigin:neworigin
Change the port origin of a given dependency from
.Ar oldorigin
to
.Ar neworigin .
This corresponds to the port directory that the package originated from.
Typically, this is only needed for upgrading a library or package that
has MOVED or when the default version of a major port dependency
changes. (DEPRECATED)
Usually this will be explained in /usr/ports/UPDATING.
Also see
.Xr pkg-updating 8
and
.Sx EXAMPLES .
.It Fl x , Cm --regex
Match
.Ar pkg-name
as a regular expression according to the "modern" or "extended" syntax of
.Xr re_format 7 .
.It Fl v Ar 01
Set or unset the
.Qq vital
flag on the target package(s).
Set to
.Ar 0
to disable the
.Qq vital
flag, and
.Ar 1
to enable it.
.It Fl y , Cm --yes
Assume yes rather than asking for confirmation before package autoremoval.
.El
.Pp
If neither the
.Fl g
nor
.Fl x
options are used, the default is to match pkg-name exactly.
.Sh FILES
See
.Xr pkg.conf 5 .
.Sh EXAMPLES
Change a package from automatic to non-automatic, which will prevent
.Ic autoremove
from removing it:
.Dl % pkg set -A 0 perl-5.14
.Pp
Change a package from non-automatic to automatic, which will make
.Ic autoremove
allow it be removed once nothing depends on it:
.Dl % pkg set -A 1 perl-5.14
.Sh ENVIRONMENT
The following environment variables affect the execution of
.Nm .
See
.Xr pkg.conf 5
for further description.
.Bl -tag -width ".Ev NO_DESCRIPTIONS"
.It Ev CASE_SENSITIVE_MATCH
.El
.Sh SEE ALSO
.Xr pkg_printf 3 ,
.Xr pkg_repos 3 ,
.Xr pkg-repository 5 ,
.Xr pkg.conf 5 ,
.Xr pkg 8 ,
.Xr pkg-add 8 ,
.Xr pkg-alias 8 ,
.Xr pkg-annotate 8 ,
.Xr pkg-audit 8 ,
.Xr pkg-autoremove 8 ,
.Xr pkg-backup 8 ,
.Xr pkg-check 8 ,
.Xr pkg-clean 8 ,
.Xr pkg-config 8 ,
.Xr pkg-create 8 ,
.Xr pkg-delete 8 ,
.Xr pkg-fetch 8 ,
.Xr pkg-info 8 ,
.Xr pkg-install 8 ,
.Xr pkg-lock 8 ,
.Xr pkg-query 8 ,
.Xr pkg-register 8 ,
.Xr pkg-repo 8 ,
.Xr pkg-rquery 8 ,
.Xr pkg-search 8 ,
.Xr pkg-shell 8 ,
.Xr pkg-shlib 8 ,
.Xr pkg-ssh 8 ,
.Xr pkg-stats 8 ,
.Xr pkg-update 8 ,
.Xr pkg-updating 8 ,
.Xr pkg-upgrade 8 ,
.Xr pkg-version 8 ,
.Xr pkg-which 8
